home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / cdbind01.zoo / metados.h < prev   
C/C++ Source or Header  |  1994-05-16  |  2KB  |  65 lines

  1. /*
  2.     Defines and prototypes for MetaDOS functions
  3.     
  4.     Copyright (c) Julian F. Reschke (jr@ms.maus.de), 16. Mai 1994
  5.     Free distribution and usage allowed as long as the file remains 
  6.     unchanged.
  7.     
  8.     See MetaDOS developer manuals for a description of the data structures.
  9. */
  10.  
  11. #ifndef _METADOS_H
  12. #define _METADOS_H
  13.  
  14. typedef struct
  15. {
  16.     unsigned char trackno, minute, second, frame;
  17. } CD_TOC_ENTRY;
  18.  
  19. typedef struct
  20. {
  21.     unsigned char disctype;        /* 0: audio, 1: data */
  22.     unsigned char firsttrack, lasttrack, curtrack;
  23.     unsigned char relposz, relposm, relposs, relposf;
  24.     unsigned char absposz, absposm, absposs, absposf;
  25.     unsigned char endposz, endposm, endposs, endposf;
  26.     unsigned char index, res[3];
  27.     unsigned long reserved[123];
  28. } CD_DISC_INFO;
  29.  
  30. typedef struct
  31. {
  32.     unsigned short    mi_version;    /* 0x230 == '02.30' */
  33.     long             mi_magic;    /* == '_MET' */
  34.     const char         *mi_log2phys;    /* maps DOS-IDs to MetaDOS XBIOS device numbers */
  35. } META_INFO_2;
  36.  
  37. typedef struct
  38. {
  39.     unsigned long    mi_drivemap;
  40.     const char         *mi_version_string;
  41.     long             reserved;
  42.     META_INFO_2        *mi_info;
  43. } META_INFO_1;
  44.  
  45. typedef struct
  46. {
  47.     char             *mdr_name;
  48.     long             res[3];
  49. } META_DRVINFO;
  50.  
  51. void Metainit (META_INFO_1 *);
  52. long Metaopen (short drive, META_DRVINFO *buffer);
  53. long Metaclose (short drive);
  54. long Metaread (short drive, void *buffer, long blockno, short blks);
  55. long Metawrite (short drive, void *buffer, long blockno, short blks);
  56. long Metastatus (short drive, void *buffer);
  57. long Metaioctl (short drive, long magic, short opcode, void *buffer);
  58. long Metasetsongtime (short drive, short repeat, long starttime, long endtime);
  59. long Metagettoc (short drive, short flag, CD_TOC_ENTRY *buffer);
  60. long Metadiscinfo (short drive, CD_DISC_INFO *p);
  61. long Metastartaudio (short drive, short flag, unsigned char *bytearray);
  62. long Metastopaudio (short drive);
  63.  
  64. #endif
  65.